package capteurs;

import java.util.ArrayList;
import java.util.Observer;

import rails.Rail;
import regulation.CapteurObserver;

public abstract class Capteur implements Observer{
	Rail rail;
	boolean hasTrain;
	int troncon;
	ArrayList<CapteurObserver> list;
	
	Capteur() {
		rail = null;
		hasTrain = false;
		troncon = 0;
		list = new ArrayList<CapteurObserver>();
		//reseauGlobale.addListener(this); pour les tops d'horloge
	}
	
	Capteur(Rail rail, int troncon) {
		this.rail = rail;
		hasTrain = false;
		this.troncon = troncon;
		list = new ArrayList<CapteurObserver>();
		//reseauGlobale.addListener(this); pour les tops d'horloge
	}

	public Rail getRail() {
		return rail;
	}
	
	
	public void setRail(Rail rail) {
		this.rail = rail;
	}

	public int getTroncon() {
		return troncon;
	}

	public void setTroncon(int troncon) {
		this.troncon = troncon;
	}
	
	public void ajouter_observer(CapteurObserver observer) {
		list.add(observer);
	}
	
	public void enlever_observer(CapteurObserver observer) {
		list.remove(observer);
	}
}
